// 评论相关接口模块
import { request } from '../utils/request.js'
import qs from 'query-string'

/**
 * 说明：获取评论或评论回复
 *
 * @params type 评论类型 a-对文章的评论列表， c-对评论的回复列表
 * @params source 源id type为a时=>文章id, type为c时=>评论id
 * @params offset 评论id （通过评论id获取评论列表的偏移量，如果不传，则以最新的评论开始获取）
 * @params limit 单页列表获取的数量
 */
export const getComments = (params) =>
  request({
    method: 'GET',
    url: '/comments/all',
    params
  })

/**
 * 说明：点赞评论
 *
 * @params target 需要点赞的评论id
 */
export const addCommentLike = (data) =>
  request({
    method: 'POST',
    url: '/comments/addLike',
    data: qs.stringify(data)
  })

/**
 * 说明：取消点赞评论
 *
 * @params target 需要取消点赞的评论id
 */
export const deleteCommentLike = (target) =>
  request({
    method: 'DELETE',
    url: `/comments/deleteLike/${target}`
  })

/**
 * 说明：添加文章评论 或 评论回复
 *
 * @params target 评论的目标id（评论文章即为文章id，对评论进行回复则为评论id）
 * @params content 评论的内容
 * @params art_id 文章id （注意事项： target为评论id时，才传该属性）
 * @params pubDate 发布日期
 */
export const addComment = (data) =>
  request({
    method: 'POST',
    url: '/comments/add',
    data: qs.stringify(data)
  })
